package com.rzl.expense.expense.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rzl.expense.common.annotation.Excel;
import com.rzl.expense.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 综资铁塔对象 dat_basetower
 * 
 * @author expense
 * @date 2024-11-30
 */
public class DatBasetower extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 铁塔id */
    private String towerId;

    /** 铁塔cid */
    @Excel(name = "铁塔cid")
    private String towerCid;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String prvId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String prvSname;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String pregId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String pregName;

    /** 所属区县 */
    @Excel(name = "所属区县")
    private String regId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String regName;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String towerSiteCode;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String towerName;

    /** 铁塔塔身高度 单位：米 */
    @Excel(name = "铁塔塔身高度 单位：米")
    private BigDecimal towerHeight;

    /** 铁塔平台数量 : 
平台数量以实际数量计算，包括共建共享单位使用的平台。抱杆没有平台填1。 */

    private Integer platformNumber;

    /** 所属机房/位置点   机房或位置点cid */
    @Excel(name = "所属机房/位置点   机房或位置点cid")
    private String relatedNeCid;

    /** 铁塔类型 */
    @Excel(name = "铁塔类型")
    private String towerType;

    /** 产权性质   
枚举值：
1自有（自建）、
2自有（合建）、
3自有（购买）、
4租用、
5用户所有、
6其他 */

    private Integer towerProperty;


    private Integer towerOwner;

    /** 共享单位    
枚举值：
1电信、
2联通、
3电信+联通、
4无、
5其他 */

    private Integer shareAttribute;

    /** 入网时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入网时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date admissionDate;

    /** 系统数量  单位：套 */
    @Excel(name = "系统数量  单位：套")
    private Integer systemNumber;

    /** 铁塔产品种类   
枚举值：
0移动自维铁塔、
1普通地面塔、
2景观塔、
3简易塔、
4普通楼面塔、
5楼面抱杆 */

    private Integer towerCategory;

    /** RRU是否上塔   
枚举值：
0移动自维铁塔、
1是、
2否 */

    private Integer rruOnTower;

    /** 铁塔公司业务确认单号  
移动自维铁塔填0；
若是多个确认单，之间用半角逗号分割 */

    private String ctcBusinessConfirmNum;

    /**   共享信息   
铁塔站点必填
枚举值：
0移动自维铁塔、
1新建首家、
2新建共享、
3存量产权方、
4存量既有共享、5存量新增共享 */

    private Integer shareInformation;


    private Integer ctcMaintenceLevel;

    /** 风压系数    
移动自维铁塔填0
新建站按照实际值填写，存量站统一填写0.45 */

    private BigDecimal windPressure;

    /** 铁塔状态  0正常 9停用 -1删除 */
    @Excel(name = "铁塔状态  0正常 9停用 -1删除")
    private Integer towerState;

    /** 数据来源（0：系统录入  1:系统导入   2：接口采集） */
    @Excel(name = "数据来源", readConverterExp = "0=：系统录入,1=:系统导入,2=：接口采集")
    private Long dataFrom;

    /** 新增用户 */
    @Excel(name = "新增用户")
    private String createUser;

    /** 新增IP地址 */
    @Excel(name = "新增IP地址")
    private String createIp;

    /** 最后更新用户 */
    @Excel(name = "最后更新用户")
    private String updateUser;

    /** 最后更新IP */
    @Excel(name = "最后更新IP")
    private String updateIp;

    /** 审核状态:0:审核通过, 8:审核失败, 9:审核中, -1:未提交', */
    @Excel(name = "审核状态:0:审核通过, 8:审核失败, 9:审核中, -1:未提交',")
    private String auditState;

    /** 部门绑定 */
    @Excel(name = "部门绑定")
    private String belongDept;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String towerHashCode;

    /** 备注 */
    @Excel(name = "备注")
    private String towerNote;

    /** 退网时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退网时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date retireTime;

    /** 保留字段1 */
    @Excel(name = "保留字段1")
    private String reserved1;

    /** 保留字段2 */
    @Excel(name = "保留字段2")
    private String reserved2;

    /** 保留字段3 */
    @Excel(name = "保留字段3")
    private String reserved3;

    /** 保留字段4 */
    @Excel(name = "保留字段4")
    private String reserved4;

    /** 保留字段5 */
    @Excel(name = "保留字段5")
    private String reserved5;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String auditingUserId;

    /** 是否集中化综资（1：是） */
    @Excel(name = "是否集中化综资", readConverterExp = "1=：是")
    private Integer isUnion;

    /** 是否属于电信普遍服务，0：否，1：是 */
    @Excel(name = "是否属于电信普遍服务，0：否，1：是")
    private Integer ifTeleCmnServ;

    /** 电信普遍服务项目编码 */
    @Excel(name = "电信普遍服务项目编码")
    private String teleCmnServProCode;

    /** 电信普遍服务项目名称 */
    @Excel(name = "电信普遍服务项目名称")
    private String teleCmnServProName;

    /** 安装位置类型 */
    @Excel(name = "安装位置类型")
    private String locationType;

    public void setTowerId(String towerId) 
    {
        this.towerId = towerId;
    }

    public String getTowerId() 
    {
        return towerId;
    }
    public void setTowerCid(String towerCid) 
    {
        this.towerCid = towerCid;
    }

    public String getTowerCid() 
    {
        return towerCid;
    }
    public void setPrvId(String prvId) 
    {
        this.prvId = prvId;
    }

    public String getPrvId() 
    {
        return prvId;
    }
    public void setPrvSname(String prvSname) 
    {
        this.prvSname = prvSname;
    }

    public String getPrvSname() 
    {
        return prvSname;
    }
    public void setPregId(String pregId) 
    {
        this.pregId = pregId;
    }

    public String getPregId() 
    {
        return pregId;
    }
    public void setPregName(String pregName) 
    {
        this.pregName = pregName;
    }

    public String getPregName() 
    {
        return pregName;
    }
    public void setRegId(String regId) 
    {
        this.regId = regId;
    }

    public String getRegId() 
    {
        return regId;
    }
    public void setRegName(String regName) 
    {
        this.regName = regName;
    }

    public String getRegName() 
    {
        return regName;
    }
    public void setTowerSiteCode(String towerSiteCode) 
    {
        this.towerSiteCode = towerSiteCode;
    }

    public String getTowerSiteCode() 
    {
        return towerSiteCode;
    }
    public void setTowerName(String towerName) 
    {
        this.towerName = towerName;
    }

    public String getTowerName() 
    {
        return towerName;
    }
    public void setTowerHeight(BigDecimal towerHeight) 
    {
        this.towerHeight = towerHeight;
    }

    public BigDecimal getTowerHeight() 
    {
        return towerHeight;
    }
    public void setPlatformNumber(Integer platformNumber) 
    {
        this.platformNumber = platformNumber;
    }

    public Integer getPlatformNumber() 
    {
        return platformNumber;
    }
    public void setRelatedNeCid(String relatedNeCid) 
    {
        this.relatedNeCid = relatedNeCid;
    }

    public String getRelatedNeCid() 
    {
        return relatedNeCid;
    }
    public void setTowerType(String towerType) 
    {
        this.towerType = towerType;
    }

    public String getTowerType() 
    {
        return towerType;
    }
    public void setTowerProperty(Integer towerProperty) 
    {
        this.towerProperty = towerProperty;
    }

    public Integer getTowerProperty() 
    {
        return towerProperty;
    }
    public void setTowerOwner(Integer towerOwner) 
    {
        this.towerOwner = towerOwner;
    }

    public Integer getTowerOwner() 
    {
        return towerOwner;
    }
    public void setShareAttribute(Integer shareAttribute) 
    {
        this.shareAttribute = shareAttribute;
    }

    public Integer getShareAttribute() 
    {
        return shareAttribute;
    }
    public void setAdmissionDate(Date admissionDate) 
    {
        this.admissionDate = admissionDate;
    }

    public Date getAdmissionDate() 
    {
        return admissionDate;
    }
    public void setSystemNumber(Integer systemNumber) 
    {
        this.systemNumber = systemNumber;
    }

    public Integer getSystemNumber() 
    {
        return systemNumber;
    }
    public void setTowerCategory(Integer towerCategory) 
    {
        this.towerCategory = towerCategory;
    }

    public Integer getTowerCategory() 
    {
        return towerCategory;
    }
    public void setRruOnTower(Integer rruOnTower) 
    {
        this.rruOnTower = rruOnTower;
    }

    public Integer getRruOnTower() 
    {
        return rruOnTower;
    }
    public void setCtcBusinessConfirmNum(String ctcBusinessConfirmNum) 
    {
        this.ctcBusinessConfirmNum = ctcBusinessConfirmNum;
    }

    public String getCtcBusinessConfirmNum() 
    {
        return ctcBusinessConfirmNum;
    }
    public void setShareInformation(Integer shareInformation) 
    {
        this.shareInformation = shareInformation;
    }

    public Integer getShareInformation() 
    {
        return shareInformation;
    }
    public void setCtcMaintenceLevel(Integer ctcMaintenceLevel) 
    {
        this.ctcMaintenceLevel = ctcMaintenceLevel;
    }

    public Integer getCtcMaintenceLevel() 
    {
        return ctcMaintenceLevel;
    }
    public void setWindPressure(BigDecimal windPressure) 
    {
        this.windPressure = windPressure;
    }

    public BigDecimal getWindPressure() 
    {
        return windPressure;
    }
    public void setTowerState(Integer towerState) 
    {
        this.towerState = towerState;
    }

    public Integer getTowerState() 
    {
        return towerState;
    }
    public void setDataFrom(Long dataFrom) 
    {
        this.dataFrom = dataFrom;
    }

    public Long getDataFrom() 
    {
        return dataFrom;
    }
    public void setCreateUser(String createUser) 
    {
        this.createUser = createUser;
    }

    public String getCreateUser() 
    {
        return createUser;
    }
    public void setCreateIp(String createIp) 
    {
        this.createIp = createIp;
    }

    public String getCreateIp() 
    {
        return createIp;
    }
    public void setUpdateUser(String updateUser) 
    {
        this.updateUser = updateUser;
    }

    public String getUpdateUser() 
    {
        return updateUser;
    }
    public void setUpdateIp(String updateIp) 
    {
        this.updateIp = updateIp;
    }

    public String getUpdateIp() 
    {
        return updateIp;
    }
    public void setAuditState(String auditState) 
    {
        this.auditState = auditState;
    }

    public String getAuditState() 
    {
        return auditState;
    }
    public void setBelongDept(String belongDept) 
    {
        this.belongDept = belongDept;
    }

    public String getBelongDept() 
    {
        return belongDept;
    }
    public void setTowerHashCode(String towerHashCode) 
    {
        this.towerHashCode = towerHashCode;
    }

    public String getTowerHashCode() 
    {
        return towerHashCode;
    }
    public void setTowerNote(String towerNote) 
    {
        this.towerNote = towerNote;
    }

    public String getTowerNote() 
    {
        return towerNote;
    }
    public void setRetireTime(Date retireTime) 
    {
        this.retireTime = retireTime;
    }

    public Date getRetireTime() 
    {
        return retireTime;
    }
    public void setReserved1(String reserved1) 
    {
        this.reserved1 = reserved1;
    }

    public String getReserved1() 
    {
        return reserved1;
    }
    public void setReserved2(String reserved2) 
    {
        this.reserved2 = reserved2;
    }

    public String getReserved2() 
    {
        return reserved2;
    }
    public void setReserved3(String reserved3) 
    {
        this.reserved3 = reserved3;
    }

    public String getReserved3() 
    {
        return reserved3;
    }
    public void setReserved4(String reserved4) 
    {
        this.reserved4 = reserved4;
    }

    public String getReserved4() 
    {
        return reserved4;
    }
    public void setReserved5(String reserved5) 
    {
        this.reserved5 = reserved5;
    }

    public String getReserved5() 
    {
        return reserved5;
    }
    public void setAuditingUserId(String auditingUserId) 
    {
        this.auditingUserId = auditingUserId;
    }

    public String getAuditingUserId() 
    {
        return auditingUserId;
    }
    public void setIsUnion(Integer isUnion) 
    {
        this.isUnion = isUnion;
    }

    public Integer getIsUnion() 
    {
        return isUnion;
    }
    public void setIfTeleCmnServ(Integer ifTeleCmnServ) 
    {
        this.ifTeleCmnServ = ifTeleCmnServ;
    }

    public Integer getIfTeleCmnServ() 
    {
        return ifTeleCmnServ;
    }
    public void setTeleCmnServProCode(String teleCmnServProCode) 
    {
        this.teleCmnServProCode = teleCmnServProCode;
    }

    public String getTeleCmnServProCode() 
    {
        return teleCmnServProCode;
    }
    public void setTeleCmnServProName(String teleCmnServProName) 
    {
        this.teleCmnServProName = teleCmnServProName;
    }

    public String getTeleCmnServProName() 
    {
        return teleCmnServProName;
    }
    public void setLocationType(String locationType) 
    {
        this.locationType = locationType;
    }

    public String getLocationType() 
    {
        return locationType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("towerId", getTowerId())
            .append("towerCid", getTowerCid())
            .append("prvId", getPrvId())
            .append("prvSname", getPrvSname())
            .append("pregId", getPregId())
            .append("pregName", getPregName())
            .append("regId", getRegId())
            .append("regName", getRegName())
            .append("towerSiteCode", getTowerSiteCode())
            .append("towerName", getTowerName())
            .append("towerHeight", getTowerHeight())
            .append("platformNumber", getPlatformNumber())
            .append("relatedNeCid", getRelatedNeCid())
            .append("towerType", getTowerType())
            .append("towerProperty", getTowerProperty())
            .append("towerOwner", getTowerOwner())
            .append("shareAttribute", getShareAttribute())
            .append("admissionDate", getAdmissionDate())
            .append("systemNumber", getSystemNumber())
            .append("towerCategory", getTowerCategory())
            .append("rruOnTower", getRruOnTower())
            .append("ctcBusinessConfirmNum", getCtcBusinessConfirmNum())
            .append("shareInformation", getShareInformation())
            .append("ctcMaintenceLevel", getCtcMaintenceLevel())
            .append("windPressure", getWindPressure())
            .append("towerState", getTowerState())
            .append("dataFrom", getDataFrom())
            .append("createUser", getCreateUser())
            .append("createIp", getCreateIp())
            .append("createTime", getCreateTime())
            .append("updateUser", getUpdateUser())
            .append("updateIp", getUpdateIp())
            .append("updateTime", getUpdateTime())
            .append("auditState", getAuditState())
            .append("belongDept", getBelongDept())
            .append("towerHashCode", getTowerHashCode())
            .append("towerNote", getTowerNote())
            .append("retireTime", getRetireTime())
            .append("reserved1", getReserved1())
            .append("reserved2", getReserved2())
            .append("reserved3", getReserved3())
            .append("reserved4", getReserved4())
            .append("reserved5", getReserved5())
            .append("auditingUserId", getAuditingUserId())
            .append("isUnion", getIsUnion())
            .append("ifTeleCmnServ", getIfTeleCmnServ())
            .append("teleCmnServProCode", getTeleCmnServProCode())
            .append("teleCmnServProName", getTeleCmnServProName())
            .append("locationType", getLocationType())
            .toString();
    }
}
